package com.core.cloundbusinessapi.system.login.vo;

import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.*;

/**
 * @author =====Lqj=====
 * @className CloudSystemLoginVO
 * @description 云系统用户登陆或推出请求参数
 * @create 2024/11/16 14:21
 **/
@Getter
@Setter
public class CloudSystemLoginVO {

    /**
     * 登录账号
     */
    private String userName;

    /**
     * 密码
     */
    private String passWord;

    /**
     * 手机号
     */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String phone;

    /**
     * 短信验证码
     */
    @Min(value = 100000, message = "验证码格式不正确")
    @Max(value = 999999, message = "验证码格式不正确")
    private Integer smsCode;

    /**
     * 登陆方式
     * 0-账号密码登陆
     * 1-手机号验证码登陆
     * 后续可能会开通扫码或
     */
    @NotNull(message = "登录方式不能为空")
    @Min(value = 0, message = "登录方式参数错误")
    @Max(value = 1, message = "登录方式参数错误")
    private Integer way;

    /**
     * 登陆客户端类型
     * 0-web端
     * 1-ios端
     * 2-安卓端
     * 3-windows端
     * 4-Macos端
     * 5-鸿蒙端
     */
    @Min(value = 0, message = "客户端类型参数错误")
    @Max(value = 5, message = "客户端类型参数错误")
    private Integer clientType;

    /**
     * 是否记住登录
     */
    private Boolean rememberMe;

    /**
     * 设备ID
     */
    private String deviceId;

    /**
     * 设备名称
     */
    private String deviceName;

}
